#pragma once
#include "interfaces.h"
#include "AssetData.h"
#include "Geometry.h"
#include "RandomEngine.h"
class Resource;
class RE_Effect : public AssetData
{
public:
	RE_Effect(Resource Res);
	~RE_Effect();

	static const AssetType m_EffectType;

	virtual const AssetType & GetAssetType()
	{
		return m_EffectType;
	}


	virtual bool Restore(); // basically, making sure the asset data is loaded and ready for use
	virtual bool Release();

	RE::IO::FilePath m_Source; // in case the effect is lost, this res file will tell the renderer where it can find the raw data to rebuild it
	union
	{
		ID3DXEffect* pd3dEffect;
	};
};